Multipath device driver software is utilized to manage multiple I/O (input/output) paths through an information processing system. A host can have multiple storage LUNs connected from a storage array. Each storage LUN can have multiple I/O paths from the host to the storage array. A multipathing driver groups all such I/O paths from a host to each array LUN into logical devices known as multipath devices. Each individual block device representing each I/O path is referred to as a native device. Applications running on a host system utilize multipath devices for I/O operations so that the I/O operations can be distributed across all available I/O paths. In this regard, multipathing is utilized to support load balancing to increase efficiency of I/O operations, and to provide failover in response to component failure (e.g., I/O adapter failure).
In conventional systems, when a new multipath device driver upgrade is needed, the applications which utilize the associated multipath device for I/O operations must be stopped to perform the driver upgrade, and then restarted after the driver upgrade process is completed. Indeed, since the multipath device is an entity created by the multipath device driver, the multipath device driver cannot be unloaded and upgraded without first terminating the multipath device. Due to these challenges, an upgrade of a multipath device driver requires application downtime and/or a reboot of the host system, which can significantly impact system operation.